/* 
 * File:   LanguageElement.h
 * Author: cpp
 *
 * Created on May 4, 2010, 2:48 AM
 */


#ifndef _LANGUAGEELEMENT_H
#define	_LANGUAGEELEMENT_H
#include <string>
#include <iostream>

using namespace std;

class LanguageElement {
protected:
    string id;
    friend ostream & operator<<(ostream&, const LanguageElement&);
    virtual string getSID(){};

public:

    const string& getId() const {
        return id;
    }
    void setId(const string& id);
    LanguageElement();
    LanguageElement(const LanguageElement& orig);
    virtual ~LanguageElement();
private:

};

LanguageElement::LanguageElement() {
    this->id = "none";
}

LanguageElement::LanguageElement(const LanguageElement& orig) {
    id = orig.id;
}

LanguageElement::~LanguageElement() {
}

void LanguageElement::setId(const string& id){
    this->id = id;
}
ostream & operator<<(ostream& output, const LanguageElement& data)
{
        return output << data.getId();
}
#endif	/* _LANGUAGEELEMENT_H */

